<?php
/**
 * Notification
 *
 * Класс Notification обрабатывает данные, связанные с оповещениями
 *
 * @author Кузьма Дмитрий <kouzma.d@gmail.com>
 * @version 1.1
 */
class Notification extends ActiveRecord {
	public $tableName = 'notification';
	public $pkName = 'action';
	
	protected $arrWysiwyg = array('text_ru', 'text_en');
	
  public $validatesLengthOf = array(
	  'subject_ru' => array('minimum' => 2, 'maximum' => 128, 'message' => 'тема (ru) должна состоять из 2-128 символов'),
    'subject_en' => array('minimum' => 2, 'maximum' => 128, 'message' => 'тема (en) должна состоять из 2-128 символов'),
    'text_ru' => array('minimum' => 2, 'message' => 'текст (ru) должен быть заполнен'),
    'text_en' => array('minimum' => 2, 'message' => 'текст (en) должен быть заполнен'),
    'action' => array('minimum' => 2, 'message' => 'оповещение должно быть заполнено'),
  );
  
    public  $validatesFormatOf = array(
      'action' => array('message' => 'оповещение заполнено неверно', 'with' => '|[_A-Za-z0-9]+|'),
    );
  
  /**
   * (non-PHPdoc)
   * @see ActiveRecord::beforeSave()
   */
  public function beforeSave() {
  	Service_Debug::setDebug();
  	parent::beforeSave();
  	$objDB = Service_Database::instance();
  	$action = Service_Escape::absolutelyEscapeString($this->id);
  	$stmt = "SELECT `action` FROM `notification` WHERE `action` = '" . $action . "'";
  	if (!$objDB->isRecordExist($stmt)) {
  		$stmt = "INSERT INTO `notification` (`action`) VALUES ('" . $action . "');";
  		$objDB->query($stmt);
  	}
  	if (isset($this->tableFields['create'])) unset($this->tableFields['create']);
  }
  
}
?>